var filterPlugin = {}

function formatDate (date, fmt) {
  var o = {
    'M+': date.getMonth() + 1, // 月份
    'd+': date.getDate(), // 日
    'h+': date.getHours(), // 小时
    'm+': date.getMinutes(), // 分
    's+': date.getSeconds(), // 秒
    'q+': Math.floor((date.getMonth() + 3) / 3), // 季度
    'S': date.getMilliseconds() // 毫秒
  }
  if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length))
  for (var k in o) {
    if (new RegExp('(' + k + ')').test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length)))
  }
  return fmt
}
filterPlugin.install = (Vue, options) => {
   // 日期格式化
  Vue.filter('date', (date, format) => {
    if (date && new Date(date).getTime() === new Date(date).getTime()) return formatDate(new Date(date), format || 'yyyy-MM-dd hh:mm:ss')
    return ''
  })
  Vue.filter('week', (value) => {
    let r = {}
    if (window.lang === 'cn') {
      r = {
        '1': '周一',
        '2': '周二',
        '3': '周三',
        '4': '周四',
        '5': '周五',
        '6': '周六',
        '7': '周日'
      }
    } else if (window.lang === 'en') {
      r = {
        '1': 'Monday',
        '2': 'Tuesday',
        '3': 'Wednesday',
        '4': 'Thursday',
        '5': 'Friday',
        '6': 'Saturday',
        '7': 'Sunday'
      }
    } else {
      r = {
        '1': 'วันจันทร์',
        '2': 'วันอังคาร',
        '3': 'วันพุทธ',
        '4': 'วันพฤหัส',
        '5': 'วันศุกร์',
        '6': 'วันเสาร์',
        '7': 'วันอาทิตย์'
      }
    }
    return r[value]
  })
  Vue.filter('orderStatusText', (value, format) => {
    let r = {}
    if (window.lang === 'cn') {
      r = {
        '1': '待审核',
        '2': '待付款',
        '3': '已取消',
        // '4': '正在分期中',
        // '5': '已支付',
        '6': '待发货',
        '7': '待收货',
        '8': '退货审核中',
        '9': '交易成功',
        '12': '退货中',
        '13': '已退货',
        '14': '退货失败',
        '15': '换货中',
        '16': '换货中',
        '17': '换货中',
        '18': '换货失败',
        '19': '已换货',
        '20': '换货中',
        '22': '换货中',
        '23': '换货中',
        '24': '退货中',
        '25': '换货失败',
        '26': '退货失败'
      }
    } else if (window.lang === 'en') {
      r = {
        '1': 'Under review',
        '2': 'No paying',
        '3': 'Has been cancelled',
        // '4': 'In staging',
        // '5': 'Already paid',
        '6': 'no send',
        '7': 'shipped',
        '8': 'Return review',
        '9': 'Successful trade',
        '12': 'In return',
        '13': 'Returned goods',
        '14': 'Return failure',
        '15': 'Changing items',
        '16': 'Changing items',
        '17': 'Changing items',
        '18': 'Unable to change',
        '19': 'Item changed',
        '20': 'Changing items',
        '22': 'Changing items',
        '23': 'Changing items',
        '24': 'In return',
        '25': 'Unable to change',
        '26': 'Return failure'
      }
    } else {
      r = {
        '1': 'การตรวจสอบ',
        '2': 'รอการชำระเงิน',
        '3': 'ถูกยกเลิก',
        // '4': 'กำลังอยู่ในขั้นตอน',
        // '5': 'มีการจ่ายเงิน',
        '6': 'รอการจัดส่งสินค้า',
        '7': 'ไม่ได้รับสินค้า',
        '8': 'ในการตรวจสอบในการคืนสินค้า',
        '9': 'สำหรับความสำเร็จในการซื้อขาย',
        '12': 'ในการคืนสินค้า',
        '13': 'ได้ส่งคืนสินค้า',
        '14': 'ล้มเหลวในการคืนสินค้า',
        '15': 'กำลังเปลี่ยนสินค้า',
        '16': 'กำลังเปลี่ยนสินค้า',
        '17': 'กำลังเปลี่ยนสินค้า',
        '18': 'ไม่สามารถเปลี่ยนสินค้า',
        '19': 'เปลี่ยนสินค้าแล้ว',
        '20': 'กำลังเปลี่ยนสินค้า',
        '22': 'กำลังเปลี่ยนสินค้า',
        '23': 'กำลังเปลี่ยนสินค้า',
        '24': 'ในการคืนสินค้า',
        '25': 'ไม่สามารถเปลี่ยนสินค้า',
        '26': 'ล้มเหลวในการคืนสินค้า'
      }
    }
    return r[value]
  })
  Vue.filter('orderDetailText', (value, format) => {
    let r = {}
    if (window.lang === 'cn') {
      r = {
        '4': '买家已付款，商品待发货，正在准备出库',
        '5': '商城已发货，请查看物流信息了解商品寄送情况',
        '6': '若买家已收到货物，请及时点击确认收货按钮',
        '7': '商品成功到达买家手中，交易完成',
        '8': '商品退货中，点击“退货进度”按钮可查看退货进度，或修改退货申请',
        '9': '商品退货成功，支付金额将于3-5个工作日后退还到您的支付账号中'
      }
    } else if (window.lang === 'en') {
      r = {
        '4': 'Buyer has paid, goods to be shipped, ready to go out of storage',
        '5': 'The commercial city has been shipped, please check the logistics information to understand the delivery of goods',
        '6': 'If you already receive your item, please click at a confirm button',
        '7': 'If the buyer has received the goods, please click on the confirmation button in time.',
        '8': 'In the return of goods, click the "return schedule" button to check the return progress, or modify the return application.',
        '9': 'Goods return successfully, the payment amount will be in 3-5 working days after the return to your payment account'
      }
    } else {
      r = {
        '4': 'จัดส่งสินค้าที่ผู้ซื้อต้องจ่ายอยู่ที่กำลังเตรียมที่จะออก',
        '5': 'สินค้าที่จัดส่งร้านโปรดดูข้อมูลเกี่ยวกับสินค้าที่ส่งข้อมูลโลจิสติกส์',
        '6': 'เมื่อลูกค้าได้รับสินค้าแล้ว กรุณาคลิ๊กเพื่อทำการยืนยัน',
        '7': 'สินค้าที่ประสบความสำเร็จในการเข้าถึงผู้ซื้อในธุรกรรมที่เสร็จสมบูรณ์',
        '8': 'คืนสินค้าให้คลิกที่ " ตารางสินค้า " เพื่อดูความคืบหน้าของการคืนหรือเปลี่ยนสินค้าที่ใช้',
        '9': 'คืนสินค้าที่ประสบความสําเร็จจํานวนเงินที่จะใช้ 3-5 วันคืนในบัญชี PayPal ของคุณ'
      }
    }
    return r[value]
  })
}

module.exports = filterPlugin
